package com.isdepci.project.factor.domain;

import com.isdepci.framework.aspectj.lang.annotation.Excel;
import com.isdepci.framework.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 碳排放因子数据库对象 b_carbon_factor_info
 *
 * @author isdepci
 * @date 2024-10-10
 */
public class CarbonFactorInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 分类 */
    @Excel(name = "分类")
    private String categorizeCode;

    /** 上游排放 */
    @Excel(name = "上游排放")
    private BigDecimal upstreamEmissions;

    /** 上游排放单位 */
    @Excel(name = "上游排放单位")
    private String upstreamUnit;

    /** 下游排放 */
    @Excel(name = "下游排放")
    private BigDecimal downstreamEmissions;

    /** 下游排放单位 */
    @Excel(name = "下游排放单位")
    private String downstreamUnit;

    /** 参考文献/数据来源 */
    @Excel(name = "参考文献/数据来源")
    private String dataSource;

    /** 参考文献/简化 */
    @Excel(name = "参考文献/简化")
    private String dataSourceSimplified;

    /** 负责人 */
    @Excel(name = "负责人")
    private String principal;

    /** 状态（1正常 2停用） */
    @Excel(name = "状态", readConverterExp = "1=正常,2=停用")
    private Integer status;

    /** 排序 */
    @Excel(name = "排序")
    private Integer orderNum;



    public CarbonFactorInfo(){}
    public CarbonFactorInfo(Integer status){}

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCategorizeCode(String categorizeCode)
    {
        this.categorizeCode = categorizeCode;
    }

    public String getCategorizeCode()
    {
        return categorizeCode;
    }
    public void setUpstreamEmissions(BigDecimal upstreamEmissions)
    {
        this.upstreamEmissions = upstreamEmissions;
    }

    public BigDecimal getUpstreamEmissions()
    {
        return upstreamEmissions;
    }
    public void setUpstreamUnit(String upstreamUnit)
    {
        this.upstreamUnit = upstreamUnit;
    }

    public String getUpstreamUnit()
    {
        return upstreamUnit;
    }
    public void setDownstreamEmissions(BigDecimal downstreamEmissions)
    {
        this.downstreamEmissions = downstreamEmissions;
    }

    public BigDecimal getDownstreamEmissions()
    {
        return downstreamEmissions;
    }
    public void setDownstreamUnit(String downstreamUnit)
    {
        this.downstreamUnit = downstreamUnit;
    }

    public String getDownstreamUnit()
    {
        return downstreamUnit;
    }
    public void setDataSource(String dataSource)
    {
        this.dataSource = dataSource;
    }

    public String getDataSource()
    {
        return dataSource;
    }
    public void setDataSourceSimplified(String dataSourceSimplified)
    {
        this.dataSourceSimplified = dataSourceSimplified;
    }

    public String getDataSourceSimplified()
    {
        return dataSourceSimplified;
    }
    public void setPrincipal(String principal)
    {
        this.principal = principal;
    }

    public String getPrincipal()
    {
        return principal;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setOrderNum(Integer orderNum)
    {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum()
    {
        return orderNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("categorizeCode", getCategorizeCode())
            .append("upstreamEmissions", getUpstreamEmissions())
            .append("upstreamUnit", getUpstreamUnit())
            .append("downstreamEmissions", getDownstreamEmissions())
            .append("downstreamUnit", getDownstreamUnit())
            .append("dataSource", getDataSource())
            .append("dataSourceSimplified", getDataSourceSimplified())
            .append("principal", getPrincipal())
            .append("status", getStatus())
            .append("orderNum", getOrderNum())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
